//#include "CircleLinkList.h"
//
////初始化函数
//CircleLinkList* Init_CircleLinkList() {
//
//    CircleLinkList* list = (CircleLinkList*)malloc(sizeof(CircleLinkList));
//    list->head.next = &(list->head);
//    list->size = 0;
//
//    return list;
//}
////插入函数
//void Insert_CircleLinkList(CircleLinkList* list,int pos,CircleLinkNode* data) {
//    if(list == NULL) return;
//    if(data == NULL) return;
//    if(pos < 1 || pos > list->size + 1) {
//        pos = list->size + 1;
//    }
//    //根据位置查找插入位置的前一个结点
//    //辅助指针变量
//    CircleLinkNode* pCurrent = &(list->head);
//    for(int i = 1;i < pos;i++) {
//        pCurrent = pCurrent->next;
//    }
//
//    //新数据入链表
//    data->next = pCurrent->next;
//    pCurrent->next = data;
//
//    list->size++;
//}
////获得第一个元素
//CircleLinkNode* Front_CircleLinkList(CircleLinkList* list) {
//    if(list == NULL) return NULL;
//    return list->head.next;
//}
////根据位置删除
//void RemoveByPos_CircleLinkList(CircleLinkList* list,int pos) {
//    if(list == NULL) return;
//    if(pos < 1 || pos > list->size) return;
//
//    //根据pos找前一个结点
//    //辅助指针变量
//    CircleLinkNode* pCurrent = &(list->head);
//    for(int i = 1;i < pos;i++) {
//        pCurrent = pCurrent->next;
//    }
//    //缓存当前结点的下一个结点
//    CircleLinkNode* pNext = pCurrent->next;
//    pCurrent->next = pNext->next;
//    pNext->next = NULL;
//
//    list->size--;
//}
////根据值删除
//void RemoveByValue_CircleLinkList(CircleLinkList* list,CircleLinkNode* data,COMPARENODE compare) {
//    if(list == NULL) return;
//    if(data == NULL) return;
//
//    CircleLinkNode* pPrev =  &(list->head);
//    CircleLinkNode* pCurrent = pPrev->next;
//    for(int i = 1; i <= list->size;i++) {
//        if(compare(pCurrent,data) == MY_TRUE) {
//            pPrev->next = pCurrent->next;
//            pCurrent->next = NULL;
//            list->size--;
//            break;
//        }
//        pPrev= pCurrent;
//        pCurrent = pPrev->next;
//    }
//}
////获得链表的长度
//int Size_CircleLinkList(CircleLinkList* list) {
//    if(list == NULL) return -1;
//    return list->size;
//}
////判断是否为空
//int IsEmpty_CircleLinkList(CircleLinkList* list) {
//    if(list->size == 0) {
//        return MY_TRUE;
//    }
//    return MY_FALSE;
//}
////查找
//int Find_CircleLinkList(CircleLinkList* list,CircleLinkNode* data,COMPARENODE compare) {
//    if(list == NULL) return -1;
//    if(data == NULL) return -1;
//
//    CircleLinkNode* pCurrent = list->head.next;
//    int flag = -1;
//    for(int i = 1;i <= list->size;i++) {
//        if(compare(pCurrent,data) == MY_TRUE) {
//            flag = i;
//            break;
//        }
//        pCurrent = pCurrent->next;
//    }
//
//    return flag;
//}
////打印
//void Print_CircleLinkList(CircleLinkList* list,PRINTNODE print) {
//    if(list == NULL) return;
//
//    CircleLinkNode* pCurrent = list->head.next;
//    int flag = -1;
//    for(int i = 1;i <= list->size * 3;i++) {
//        if(pCurrent == &(list->head)) {
//            pCurrent = pCurrent->next;
//            printf("------------------------------------------\n");
//        }
//        print(pCurrent);
//        pCurrent = pCurrent->next;
//    }
//}
////释放内存
//void FreeSpace_CircleLinkList(CircleLinkList* list) {
//    if(list == NULL) return;
//
//    free(list);
//}